package com.easondongh.system.service;

import com.easondongh.system.domain.SysDept;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author EasonDongH
 * @date 2020/5/6 15:46
 */
public interface SysDeptService extends IService<SysDept>{

    /**
     * 加载所有部门，按order_num正序排序
     * @return
     */
    List<SysDept> loadDept();

    /**
     * 获取当前部门的最大排序号
     * 不存在数据时返回0
     * @return
     */
    Integer getMaxOrderNum();

    /**
     * 排除id = #{id} 及 其所有子节点、孙子节点等
     * @param id
     * @return
     */
    List<SysDept> getDeptExcludeById(Integer id);

    /**
     * 统计该id下的子部门数量
     * @param id
     * @return
     */
    Integer countChildDeptById(Integer id);
}
